package cn.ffcs.uec.staff.model;

import java.io.Serializable;
import java.util.ArrayList;
import java.util.List;

import cn.ffcs.uec.staff.dao.UecStaffInfoDao;
import cn.ffcs.uom.common.constants.BaseUnitConstants;
import cn.ffcs.uom.common.model.UomEntity;
import cn.ffcs.uom.common.util.ApplicationContextUtil;
import cn.ffcs.uom.common.util.StrUtil;
import lombok.Getter;
import lombok.Setter;
/**
 * @Title:人员基本信息实体类
 * @Description:
 * @Copyright: FFCS（C） 2017
 * @Company: FFCS
 * @author Wang Yiren
 * @Version 0.0.1 date:2017年12月6日
 * @since JDK1.6
 */
public class UecStaffInfo extends UomEntity implements Serializable {

	private static final long serialVersionUID = 5527378653573342989L;

	/**
	 * 员工标识
	 * 
	 * @return
	 */
	public Long getStaffId() {
		return super.getId();
	}

	public void setStaffId(Long staffId) {
		super.setId(staffId);
	}
	/**
	 * 账期
	 */
	@Getter
	@Setter
	private Long monthId;
	/**
	 * 主键
	 */
	@Getter
	@Setter
	private String pkPsndoc;
	/**
	 * 照片
	 */
	@Getter
	@Setter
	private String photo;
	/**
	 * 人力资源组
	 */
	@Getter
	@Setter
	private String pkHrorg;
	/**
	 * 所属组织
	 */
	@Getter
	@Setter
	private String pkOrg;
	/**
	 * 历史成员
	 */
	@Getter
	@Setter
	private String ishiskeypsn;
	/**
	 * UID主键
	 */
	@Getter
	@Setter
	private String psnUid;
/////////////////////////////////////////////
	/**
	 * 人员编码
	 */
	@Getter
	@Setter
	private String code;
	/**
	 * 姓名
	 */
	@Getter
	@Setter
	private String name;
	/**
	 * 性别
	 */
	@Getter
	@Setter
	private Long sex;
	/**
	 * 曾用名
	 */
	@Getter
	@Setter
	private String usedname;
	/**
	 * 紧急联系人姓名
	 */
	@Getter
	@Setter
	private String glbdef7;
////////////////////////////////////////////////
	/**
	 * 证件类型
	 */
	@Getter
	@Setter
	private Long idtype;
	/**
	 * 证件号码
	 */
	@Getter
	@Setter
	private String idNumber;
	/**
	 * 政治面貌
	 */
	@Getter
	@Setter
	private String polity;
	/**
	 * 入党(团)日期
	 */
	@Getter
	@Setter
	private String joinpolitydate;
	/**
	 * 档案所在地
	 */
	@Getter
	@Setter
	private String fileaddress;
///////////////////////////////////////////////

	/**
	 * 手机
	 */
	@Getter
	@Setter
	private String mobile;
	/**
	 * 办公电话
	 */
	@Getter
	@Setter
	private String officephone;
	/**
	 * 家庭电话
	 */
	@Getter
	@Setter
	private String homephone;
	/**
	 * 电子邮件
	 */
	@Getter
	@Setter
	private String email;
	/**
	 * 紧急联系人电话
	 */
	@Getter
	@Setter
	private String glbdef8;
///////////////////////////////////
	/**
	 * 民族
	 */
	@Getter
	@Setter
	private String nationality;
	/**
	 * 籍贯
	 */
	@Getter
	@Setter
	private String nativeplace;	
	/**
	 * 户籍地址
	 */
	@Getter
	@Setter
	private String censusaddr;
	/**
	 * 户口性质
	 */
	@Getter
	@Setter
	private String characterrpr;
	/**
	 * 本人户口地址
	 */
	@Getter
	@Setter
	private String glbdef12;
////////////////////////////////////////////////
	/**
	 * 出生地
	 */
	@Getter
	@Setter
	private String glbdef9;

	/**
	 * 家庭地址
	 */
	@Getter
	@Setter
	private String glbdef13;
	/**
	 * 出生日期
	 */
	@Getter
	@Setter
	private String birthdate;
	/**
	 * 学历
	 */
	@Getter
	@Setter
	private String edu;
	/**
	 * 学位
	 */
	@Getter
	@Setter
	private String pkDegree;
///////////////////////////////////////////////
	/**
	 * 健康状况
	 */
	@Getter
	@Setter
	private String health;
	/**
	 * 婚姻状况
	 */
	@Getter
	@Setter
	private String marital;
	/**
	 * 参加工作日期
	 */
	@Getter
	@Setter
	private String joinworkdate;
	/**
	 * 工龄
	 */
	@Getter
	@Setter
	private String def3;
	/**
	 * 本企业工龄
	 */
	@Getter
	@Setter
	private String def4;
////////////////////////////////////////////////
	/**
	 * 职业资格
	 */
	@Getter
	@Setter
	private String prof;
	/**
	 * 离退休日期
	 */
	@Getter
	@Setter
	private String retiredate;
	/**
	 * 预计退休日期
	 */
	@Getter
	@Setter
	private String glbdef15;
	/**
	 * 身故日期
	 */
	@Getter
	@Setter
	private String dieDate;
	/**
	 * 身故说明
	 */
	@Getter
	@Setter
	private String dieRemark;
///////////////////////////////////////////////////
	/**
	 * 进入电信（邮电）系统来源
	 */
	@Getter
	@Setter
	private String glbdef2;
	/**
	 * 进入电信（邮电）系统日期
	 */
	@Getter
	@Setter
	private String glbdef3;

	/**
	 * 专业技术职务
	 */
	@Getter
	@Setter
	private String titletechpost;
	/**
	 * 门店营业员
	 */
	@Getter
	@Setter
	private String isshopassist;
	/**
	 * 是否承包经营个人
	 */
	@Getter
	@Setter
	private String glbdef14;
/////////////////////////////
	/**
	 * 修改时间
	 */
	@Getter
	@Setter
	private String modifiedtime;
	/**
	 * 修改人
	 */
	@Getter
	@Setter
	private String modifier;
	/**
	 * 创建时间
	 */
	@Getter
	@Setter
	private String creationtime;
	/**
	 * 创建人
	 */
	@Getter
	@Setter
	private String creator;
	/**
	 * 删除标志
	 */
	@Getter
	@Setter
	private Long dr;
	/**
	 * 启用状态
	 */
	@Getter
	@Setter
	private Long enablestate;

	public UecStaffInfo() {
		super();
	}

	public static UecStaffInfo newInstance() {
		return new UecStaffInfo();
	}
	
	/**
	 * 获取dao
	 */
	public UecStaffInfoDao repository() {
		return (UecStaffInfoDao)  ApplicationContextUtil.getBean("uecStaffInfoDao");
	}
	
	/**
	 * 获取组织名称
	 */
	public String getPkOrgName() {
		if(!StrUtil.isNullOrEmpty(this.getPkOrg())) {
			String sql = " SELECT * FROM  UEC_ORG_ORGS T WHERE T.STATUS_CD = ? AND T.PK_ORG = ? ";
			List<Object> params = new ArrayList<Object>();
			params.add(BaseUnitConstants.ENTT_STATE_ACTIVE);
			params.add(this.getPkOrg());
			List<UecStaffInfo> list = this.repository().jdbcFindList(sql, params, UecStaffInfo.class);
			if (list != null && list.size() > 0) {
				return list.get(0).getName();
			}
		}
		return "";
	}
	
	

}
